#ifndef _PROGRAMA_H_
#define _PROGRAMA_H_

#include "Video.h"

/*!
 *  \class Programa
 *  \author Shin-NiL
 *  \date 20/02/2010 Criação
 *  \version 0.1
 *  \brief Classe padrão para implementação de um programa
 *
 *  Essa classe deve ser usada como uma espécie de "interface", sendo
 *  herdada para uma classe especializada onde serão especificadas
 *  as particularidades da mesma
 *
 **/
class Programa
{
    protected:
	/// flag que indica se terminou o programa
	SDL_bool mFim;
    public:
        /// \brief Construtor padrão
        Programa();
        /// \brief Destrutor padrão
        virtual ~Programa() {};
        /// \brief Função abstrata que deverá inicializar os parâmetros do programa
        ///    \return Deverá retornar verdadeiro quando não problemas na inicialização
        virtual SDL_bool init(void) = 0;
        /// \brief Função abstrata que deverá conter o ciclo do programa
        virtual void ciclo(void) = 0;
};

#endif


